A System on Chip (SoC) is a type of integrated circuit (IC) that combines many or all components of a computer into a single chip. Traditionally, SoCs partition the address space into different regions (DRAM regions, internal chip addresses, bus addresses, etc.) Each transaction in the internal SoC fabric is address-decoded in order to identify the required destination, and the transaction is routed accordingly. Typically, an address decoder can be used that has address bits as inputs and selection lines of the destinations as outputs. For example, the SoC can include multiple master/slave combinations and each master can include a separate decoder that selects the appropriate slave using the selection lines.
Address decoding typically uses inequality comparators, wherein two inequality comparators are used per slave window. Largely, due to the inequality comparators, decoders are very area expensive. And, due to the large number of slaves, decoder inefficiency has become problematic overall in terms of area usage in a SoC or other integrated circuit.